"""
和列表类似，元组（tuple）也是由一系列按特定顺序排列的元素组成的一种复合数据类型。
在某些特定的情境下，元组和列表的区别并没有那么明显。
在Python中，列表通常用小括号（()）表示，并且用逗号将其中的元素分隔开。基本语法为:
元组名 = (元素, 元素, 元素, ..., 元素)
"""
# 如果想初始化一个空元组，一般有两种方式可以实现。其基本语法为
# 元组名 = ()
# 元组名 = tuple()
tuple1 = ()
tuple2 = tuple()
print(tuple1, tuple2)
# 类似列表，元组同样属于有序的复合数据类型，所以元组同样支持索引操作。其基本语法为
# 所取的元素 = 元组[索引值]
# 字符串，列表和元组均属于有序的数据类型。
# 列表的切片操作对元组同样适用，只是得到的切片结果是一个元组而非一个列表。比如
tup = (1, 3, 5, 7, 9, 11)
sub_tup = tup[1:4]
print(sub_tup)
# 虽然我们不能直接对元组本身进行修改，但既然元组和列表的结构和形式如此相似，那么很容易想到，我们可以将元组转换为列表，对转化后的列表进行修改，再将修改后的列表转换回元组。
# 将元组转化为列表的其基本语法为
# 列表名 = list(元组名)
# 类似的，将列表转换为元组的其基本语法为
# 元组名 = tuple(列表名)
students_tuple = ("xiaoming", "xiaohong", "xiaohei", 'xiaogang')
students = list(students_tuple)
students[1] = "xiaomei"
students_tuple = tuple(students)
print(students_tuple)

# a = [2,1,3]
# b = tuple(a)
# print(b)
# c = set(b)
# print(c)
# d = list(c)
# print(d.sort())
# print(d)